/**
 *  Created on  : 25 Noviembre de 2010
 *  Author      : Javier Silva Pérez
 *  Description :
 *              Excepcion personalizada para errores de base de datos
 *
 */

package cinvestav.adviseme.util;

import java.sql.SQLException;

/**
 *
 * @author Javier Silva Pérez
 */
public class DBException extends Exception{

    SQLException errorConsulta;
    /**
     * Constructor que recibe el mensaje de la excepcion
     * @param mensaje Mensaje de la excepcion
     */
    public DBException(String mensaje){
        super(mensaje);
        this.errorConsulta=null;
    }

    /**
     * Constructor que recibe el nombre de la excepcion y la causa
     * @param mensaje   Mensaje de la excepcion
     * @param cause     Causa de la excepcion
     */
    public DBException(String mensaje, Throwable cause){
        super(mensaje,cause);
        this.errorConsulta=null;
    }

    public DBException (Exception ex){
        super(ex.getMessage(),ex.getCause());
        this.errorConsulta=null;
    }

    /**
     * Constructor que permite agregar el error SQL que genero una consulta
     * @param mensaje   Mensaje de la excepcion
     * @param sqlE      Error SQL generados
     */
    public DBException(String mensaje,SQLException sqlE){
        super(mensaje);
        this.errorConsulta=sqlE;
    }

    /**
     * Obtiene el error de SQL que se genero
     * @return Exception de SQL generado
     */
    public SQLException getErrorConsulta() {
        return errorConsulta;
    }

}
